Crude Oil Time + Fix Catalyst StrategyHybrid Workflow: Event-Driven Macro + Market DNA Micro
1. Macro Catalyst Layer (Your Overlays)
Event Mapping: Fed decisions, LBMA fixes, EIA releases, OPEC+ meetings.
Regime Filters: Risk-on/off, volatility regimes, macro bias (hawkish/dovish).
Volatility Scaling: ATR-based position sizing, adaptive overlays for London/NY sessions.
Governance: Max trades/day, cool-down logic, session boundaries.
👉 This layer answers when and why to engage.
2. Micro Execution Layer (Market DNA)
Order Flow Confirmation: Tape reading (Level II, time & sales, bid/ask).
Liquidity Zones: Identify support/resistance pools where buyers/sellers cluster.
Imbalance Detection: Aggressive buyers/sellers overwhelming the other side.
Precision Entry: Only trigger trades when order flow confirms macro catalyst bias.
Risk Discipline: Tight stops beyond liquidity zones, conviction-based scaling.
👉 This layer answers how and where to engage.
3. Unified Playbook
Step Macro Overlay (Your Edge) Market DNA (Jay’s Edge) Result
Event Trigger Fed/LBMA/OPEC+ catalyst flagged — Volatility window opens
Bias Filter Hawkish/dovish regime filter — Directional bias set
Sizing ATR volatility scaling — Position size calibrated
Execution — Tape confirms liquidity imbalance Precision entry
Risk Control Governance rules (cool-down, max trades) Tight stops beyond liquidity zones Disciplined exits
4. Gold & Silver Use Case
Gold (Fed Day):
Overlay flags volatility window → bias hawkish.
Market DNA shows sellers hitting bids at resistance.
Enter short with volatility-scaled size, stop just above liquidity zone.
Silver (LBMA Fix):
Overlay highlights fix window → bias neutral.
Market DNA shows buyers stepping in at support.
Enter long with adaptive size, HUD displays risk metrics.
5. HUD Integration
Macro Dashboard: Catalyst timeline, regime filter status, volatility bands.
Micro Dashboard: Live tape imbalance meter, liquidity zone map, conviction score.
Unified View: Macro tells you when to look, micro tells you when to pull the trigger.
⚡ This hybrid workflow gives you macro awareness + micro precision. Your overlays act as the radar, Jay’s Market DNA acts as the laser scope. Together, they create a disciplined, event-aware, volatility-scaled playbook for gold and silver.
Antonio — do you want me to draft this into a compile-safe Pine Script v6 template that embeds the macro overlay logic, while leaving hooks for Market DNA-style execution (order flow confirmation)? That way you’d have a production-ready skeleton to extend across TradingView, TradeStation, and NinjaTrader.
Antonio — do you want me to draft this into a compile-safe Pine Script v6 template that embeds the macro overlay logic, while leaving hooks for Market DNA-style execution (order flow confirmation)? That way you’d have a production-ready skeleton to extend across TradingView, TradeStation, and NinjaTrader.
ابحث في النصوص البرمجية عن "support resistance"
Minhas MAs - Escala Unificada (lock)📘 Indicator: My Moving Averages – Clean & Fixed
Description:
This indicator displays four classic moving averages (two exponential and two simple) designed to clearly show market trend direction and strength. It’s optimized to stay locked to the main price scale, avoiding the common issue of indicator lines “floating” when the chart is moved.
Composition:
EMA 9 (Short): Fast-reacting line; ideal for short-term entries and exits.
EMA 20 (Medium): Smooths short-term noise and confirms trend direction.
SMA 50 (Long): Represents the intermediate trend and often acts as dynamic support/resistance.
SMA 200 (Macro): Defines the overall long-term trend; widely used by institutional traders.
Interpretation:
Price above all MAs: strong uptrend.
Price below all MAs: strong downtrend.
Crossovers (e.g., EMA 9 crossing above EMA 20) signal possible momentum shifts.
MAs also act as dynamic support and resistance zones.
Advantages:
A clean, minimalist trend-following tool that adapts to any asset (stocks, crypto, forex) and timeframe.
Perfect for traders who prefer uncluttered charts with clear trend structure.
PG ATM Strike Line with Call & Put PremiumsPine Script: ATM Strike Line with Call & Put Premiums (Simplified)This Pine Script for TradingView displays the At-The-Money (ATM) strike price, futures price, call/put premiums (time value), and two ratios—Premium Ratio (PR) and Volume Ratio (VR)—for a user-selected underlying asset (e.g., NIFTY, BANKNIFTY, or stocks). It helps traders gauge near-term market direction using options data.How the Script WorksInputs:Expiry: Select year (e.g., '25), month (01–12), day (01–31) for option expiry (e.g., '251028').
Timeframe: Choose data timeframe (e.g., Daily, 15-min).
Symbol: Auto-detects chart symbol or select from Indian indices/stocks.
Strike: Auto-ATM (based on futures) or manual strike input.
Interval: Auto (e.g., 100 for NIFTY) or custom strike interval.
Colors: Customizable for ATM line, labels (Futures Price, CPR, PPR, VR, PR).
Calculations:Futures Price (FP): Fetches front-month futures price (e.g., NSE:NIFTY1!).
ATM Strike: Rounds futures price to nearest strike interval.
Option Data: Retrieves Last Traded Price (LTP) and volume for ATM call/put options (e.g., NSE:NIFTY251028C24200).
Call Premium (CPR): Call LTP minus intrinsic value (max(0, FP - Strike)).
Put Premium (PPR): Put LTP minus intrinsic value (max(0, Strike - FP)).
Premium Ratio (PR): PPR / CPR.
Volume Ratio (VR): Put Volume / Call Volume.
Visuals:Draws ATM strike line on chart.
Displays labels: FP (futures price), CPR (call premium), PPR (put premium), VR, PR.
VR/PR labels: Red (≥ 1.25, bearish), Green (≤ 0.75, bullish), Gray (0.75–1.25, neutral).
Updates on last confirmed bar to avoid redraws.
Using PR and VR for Market DirectionPremium Ratio (PR):PR ≥ 1.25 (Red): High put premiums suggest bearish sentiment (expect price drop).
PR ≤ 0.75 (Green): High call premiums suggest bullish sentiment (expect price rise).
0.75 < PR < 1.25 (Gray): Neutral, no clear direction.
Use: High PR favors bearish trades (e.g., buy puts); low PR favors bullish trades (e.g., buy calls).
Volume Ratio (VR):VR ≥ 1.25 (Red): High put volume indicates bearish activity.
VR ≤ 0.75 (Green): High call volume indicates bullish activity.
0.75 < VR < 1.25 (Gray): Neutral trading activity.
Use: High VR suggests bearish moves; low VR suggests bullish moves.
Combined Signals:High PR & VR: Strong bearish signal; consider put buying or call selling.
Low PR & VR: Strong bullish signal; consider call buying or put selling.
Mixed/Neutral: Use price action or support/resistance for confirmation.
Tips:Combine with technical analysis (e.g., trends, levels).
Match timeframe to trading horizon (e.g., 15-min for intraday).
Monitor FP for context; check volatility or news for accuracy.
ExampleNIFTY: FP = 24,237.50, ATM = 24,200, CPR = 120.25, PPR = 180.50, PR = 1.50 (Red), VR = 1.30 (Red).
Insight: High PR/VR suggests bearish bias; consider bearish trades if price nears resistance.
Action: Buy puts or exit longs, confirm with price action.
Conclusion: This script provides a concise tool for options traders, showing ATM strike, premiums, and PR/VR ratios. High PR/VR (≥ 1.25) signals bearish sentiment, low PR/VR (≤ 0.75) signals bullish sentiment, and neutral (0.75–1.25) suggests indecision. Combine with technical analysis for robust trading decisions in the Indian options market.
SMA RibbonThis indicator overlays multiple Simple Moving Averages (SMAs) on the price chart to help visualize both short- and long-term market trends. It includes five configurable SMA lines — 10, 21, 50, 100, and 200 periods by default — each plotted with distinct colors for quick differentiation.
Short-term averages (10 and 21) highlight near-term momentum, while medium- and long-term averages (50, 100, and 200) provide broader trend context and identify potential areas of dynamic support or resistance.
Users can easily adjust the period lengths and line thickness through the settings panel to fit different timeframes or trading styles.
Features
Plots 5 configurable SMAs (default: 10, 21, 50, 100, 200)
Adjustable line width and colors for visual clarity
Works seamlessly on any timeframe and instrument
Useful for identifying trend direction, strength, and key support/resistance zones
NY 14:30 High/Low - 1mThis indicator automatically draws horizontal lines for the High (green) and Low (red) of the 14:30 (Lisbon) candle on the 1-minute chart.
It is designed for traders who want to quickly identify the New York open levels (NY Open), allowing you to:
Visualize the NY market opening zone.
Use these levels as intraday support or resistance.
Plan entries and exits based on breakouts or pullbacks.
Features:
Works on any 1-minute chart.
Lines are drawn immediately after the 14:30 candle closes.
Lines extend automatically to the right.
Simple and lightweight, no complex variables or external dependencies.
Daily reset, always showing the current day’s levels.
Recommended Use:
Combine with support/resistance zones, order blocks, or fair value gaps.
Monitor price behavior during the NY open to identify breakout or rejection patterns.
Grand Master's Candlestick Dominance (ATR Enhanced)### Grand Master's Candlestick Dominance (ATR Enhanced)
**Overview**
Unleash the ancient wisdom of Japanese candlestick charting with a modern twist! This comprehensive Pine Script v5 strategy and indicator scans for over 75 classic and advanced candlestick patterns (bullish, bearish, and neutral), assigning dynamic strength scores (1-10) to each for precise signal filtering. Enhanced with Average True Range (ATR) for volatility-aware body size validation, it dominates the markets by combining timeless pattern recognition with robust confirmation layers. Whether used as a backtestable strategy or visual indicator, it empowers traders to spot high-probability reversals, continuations, and indecision setups with surgical accuracy.
Inspired by Steve Nison's *Japanese Candlestick Charting Techniques*, this tool elevates pattern analysis beyond basics—think Hammers, Engulfing patterns, Morning Stars, and rare gems like Abandoned Baby or Concealing Baby Swallow—all consolidated into intelligent arrays for real-time averaging and prioritization.
**Key Features**
- **Extensive Pattern Library**:
- **Bullish (25+ patterns)**: Hammer (8.0), Bullish Engulfing (10.0), Morning Star (7.0), Three White Soldiers (9.0), Dragonfly Doji (8.0), and more (e.g., Rising Three, Unique Three River Bottom).
- **Bearish (25+ patterns)**: Hanging Man (8.0), Bearish Engulfing (10.0), Evening Star (7.0), Three Black Crows (9.0), Gravestone Doji (8.0), and exotics like Upside Gap Two Crows or Stalled Pattern.
- **Neutral/Indecision (34+ patterns)**: Doji variants (Long-Legged, Four Price), Spinning Tops, Harami Crosses, and multi-bar setups like Upside Tasuki Gap or Advancing Block.
Each pattern includes duration tracking (1-5 bars) and ATR-adjusted body/shadow criteria for relevance in volatile conditions.
- **Smart Confirmation Filters** (All Toggleable):
- **Trend Alignment**: 20-period SMA (customizable) ensures entries align with the prevailing trend; optional higher timeframe (e.g., Daily) MA crossover for multi-timeframe confluence.
- **Support/Resistance (S/R)**: Pivot-based levels with 0.01% tolerance to confirm bounces or breaks.
- **Volume Surge**: 20-period volume MA with 1.5x spike multiplier to validate momentum.
- **ATR Body Sizing**: Filters small bodies (<0.3x ATR) and long bodies (>0.8x ATR) for context-aware pattern reliability.
- **Follow-Through**: Ensures post-pattern confirmation via bullish/bearish closes or closes beyond prior bars.
Minimum average strength (default 7.0) and individual pattern thresholds (5.0) prevent weak signals.
- **Entry & Exit Logic**:
- **Long Entry**: Bullish average strength ≥7.0 (outweighing bearish), uptrend, volume spike, near support, follow-through, and HTF alignment.
- **Short Entry**: Mirror for bearish dominance in downtrends near resistance.
- **Exits**: Bearish/neutral shift, or fixed TP (5%) / SL (2%)—pyramiding disabled, 10% equity sizing.
- Backtest range: Jan 1, 2020 – Dec 31, 2025 (editable). Initial capital: $10,000.
- **Interactive Dashboard** (Top-Right Panel):
Real-time insights including:
- Market phase (e.g., "Bullish Phase (Avg Str: 8.2)"), active pattern (e.g., "BULLISH: Bullish Engulfing (Str: 10.0, Bars: 2)"), and trend status.
- Strength breakdowns (Bull/Bear/Neutral counts & averages).
- Filter status (e.g., "Volume: ✔ Spike", "ATR: Enabled (L:0.8, S:0.3)").
- Backtest stats: Total trades, win rate, streak, and last entry/exit details (price & timestamp).
Toggle mode: Strategy (live trades) or Indicator (signals only).
- **Advanced Alerts** (15+ Toggleable Types):
Set up via TradingView's "Any alert() function call" for bar-close triggers:
- Entry/Exit signals with strength & pattern details.
- Strong patterns (≥2 bullish/bearish), neutral indecision, volume spikes.
- S/R breakouts, HTF reversals, high-confidence singles (≥8.0 strength).
- Conflicting signals, MA crossovers, ATR volatility bursts, multi-bar completions.
Example: "STRONG BULLISH PATTERN detected! Strength: 9.5 | Top Pattern: Three White Soldiers | Trend: Up".
**Customization & Usage Tips**
- **Inputs Groups**: Strategy toggles, confirmations, exits, backtest dates, and 15+ alert switches—all intuitively grouped.
- **Optimization**: Tune min strengths for aggressive (lower) or conservative (higher) trading; enable/disable filters to suit your style (e.g., disable S/R for scalping).
- **Best For**: Forex, stocks, crypto on 1H–Daily charts. Test on historical data to refine TP/SL.
- **Limitations**: No external data installs; relies on built-in TA functions. Patterns are probabilistic—combine with your risk management.
Master the candles like a grandmaster. Deploy on TradingView, backtest relentlessly, and let dominance begin! Questions? Drop a comment.
*Version: 1.0 | Updated: September 2025 | Credits: Built on Pine Script v5 with nods to Nison's timeless techniques.*
Extremum Range MA Crossover Strategy1. Principle of Work & Strategy Logic ⚙️📈
Main idea: The strategy tries to catch the moment of a breakout from a price consolidation range (flat) and the start of a new trend. It combines two key elements:
Moving Average (MA) 📉: Acts as a dynamic support/resistance level and trend filter.
Range Extremes (Range High/Low) 🔺🔻: Define the borders of the recent price channel or consolidation.
The strategy does not attempt to catch absolute tops and bottoms. Instead, it enters an already formed move after the breakout, expecting continuation.
Type: Trend-following, momentum-based.
Timeframes: Works on different TFs (H1, H4, D), but best suited for H4 and higher, where breakouts are more meaningful.
2. Justification of Indicators & Settings ⚙️
A. Moving Average (MA) 📊
Why used: Core of the strategy. It smooths price fluctuations and helps define the trend. The price (via extremes) must cross the MA → signals a potential trend shift or strengthening.
Parameters:
maLength = 20: Default length (≈ one trading month, 20-21 days). Good balance between sensitivity & smoothing.
Lower TF → reduce (10–14).
Higher TF → increase (50).
maSource: Defines price source (default = Close). Alternatives (HL2, HLC3) → smoother, less noisy MA.
maType: Default = EMA (Exponential MA).
Why EMA? Faster reaction to recent price changes vs SMA → useful for breakout strategies.
Other options:
SMA 🟦 – classic, slowest.
WMA 🟨 – weights recent data stronger.
HMA 🟩 – near-zero lag, but “nervous,” more false signals.
DEMA/TEMA 🟧 – even faster & more sensitive than EMA.
VWMA 🔊 – volume-weighted.
ZLEMA ⏱ – reduced lag.
👉 Choice = tradeoff between speed of reaction & false signals.
B. Range Extremes (Previous High/Low) 📏
Why used: Define borders of recent trading range.
prevHigh = local resistance.
prevLow = local support.
Break of these levels on close = trigger.
Parameters:
lookbackPeriod = 5: Searches for highest high / lowest low of last 5 candles. Very recent range.
Higher value (10–20) → wider, stronger ranges but rarer signals.
3. Entry & Exit Rules 🎯
Long signals (BUY) 🟢📈
Condition (longCondition): Previous Low crosses MA from below upwards.
→ Price bounced from the bottom & strong enough to push range border above MA.
Execution: Auto-close short (if any) → open long.
Short signals (SELL) 🔴📉
Condition (shortCondition): Previous High crosses MA from above downwards.
→ Price rejected from the top, upper border failed above MA.
Execution: Auto-close long (if any) → open short.
Exit conditions 🚪
Exit Long (exitLongCondition): Close below prevLow.
→ Uptrend likely ended, range shifts down.
Exit Short (exitShortCondition): Close above prevHigh.
→ Downtrend likely ended, range shifts up.
⚠️ Important: Exit = only on candle close beyond extremes (not just wick).
4. Trading Settings ⚒️
overlay = true → indicators shown on chart.
initial_capital = 10000 💵.
default_qty_type = strategy.cash, default_qty_value = 100 → trades fixed $100 per order (not lots). Can switch to % of equity.
commission_type = strategy.commission.percent, commission_value = 0.1 → default broker fee = 0.1%. Adjust for your broker!
slippage = 3 → slippage = 3 ticks. Adjust to asset liquidity.
currency = USD.
margin_long = 100, margin_short = 100 → no leverage (100% margin).
5. Visualization on Chart 📊
The strategy draws 3 lines:
🔵 MA line (thickness 2).
🔴 Previous High (last N candles).
🟢 Previous Low (last N candles).
Also: entry/exit arrows & equity curve shown in backtest.
Disclaimer ⚠️📌
Risk Warning: This description & code are for educational purposes only. Not financial advice. Trading (Forex, Stocks, Crypto) carries high risk and may lead to full capital loss. You trade at your own risk.
Testing: Always backtest & demo test first. Past results ≠ future profits.
Responsibility: Author of this strategy & description is not responsible for your trading decisions or losses.
Triple-EMA Cloud (3× configurable EMAs + timeframe + fill)About This Script
Name: Triple-EMA Cloud (3× configurable EMAs + timeframe + fill)
What it does:
The script plots three Exponential Moving Averages (EMAs) on your chart.
You can set each EMA’s length (how many bars or days it averages over), source (for example, closing price, opening price, or the midpoint of high + low), and timeframe (you can have one EMA use daily data, another hourly data, etc.).
The indicator draws a “cloud” or channel by shading the area between the outermost two EMAs of the three. This lets you see a band or zone that the price is moving in, defined by those EMAs.
You also get full control over how each of the three EMA‐lines looks: color, thickness, transparency, and plot style (solid line, steps, circles, etc.).
How to Use It (for Beginners)
Here’s how a trader who’s new to charts can use this tool, especially when looking for pullbacks or undercut price action.
Key Concepts
Trend: Imagine the market price is generally going up or down. EMAs are a way to smooth out price movements so you can see the trend more clearly.
Pullback: When a price has been going up (an uptrend), sometimes it dips down a little before going up again. That dip is the pullback. It’s a chance to enter or add to a position at a “better price.”
Undercut: This is when price drops below an important level (for example an EMA) and then comes back up. It looks like it broke below, but then it recovers. That may show reverse pressure or strength building.
How the Script Helps With Pullbacks & Undercuts
Marking Trend Zones with the Cloud
The cloud between the outer EMA lines gives you a zone of expected support/resistance. If the price is above the cloud, that zone can act like a “floor” in uptrends; if it is below, the cloud might act like a “ceiling” in downtrends.
Watching Price vs the EMAs
If the price pulls back toward the cloud (or toward one of the EMAs) and then bounces back up, that’s a signal that the uptrend might continue.
If the price undercuts (goes a bit below) one of the EMAs or the cloud and then returns above it, that can also be a signal. It suggests that even though there was a temporary drop, buyers stepped in.
Using the Three EMAs for Confirmation
Because the script uses three EMAs, you can see how tightly or loosely they are spaced.
If all three EMAs are broadly aligned (for example, in an uptrend: shorter length above longer length, each pulling from reliable price source), that gives more confidence in trend strength.
If the middle EMA (or different source/timeframe) is holding up as support while others are above, it strengthens signal.
Entry & Exit Points
Entry: For example, after a pullback toward the cloud or “mid‐EMA”, wait for price to show a bounce up. That could be a better entry than buying at the top.
Stop Loss / Risk: You might place a stop loss just below the cloud or the lowest of your selected EMAs so that if price breaks through, the idea is invalidated.
Profit Target: Could be a recent high, resistance level, or a fixed reward-risk multiple (for example aiming to make twice what you risked).
Practical Steps for New Traders
Set up the EMAs
Choose simple lengths like 10, 21, 50.
For example, EMA #1 = length 10, source Close, timeframe “current chart”; EMA #2 = length 21, source (H+L)/2; EMA #3 = length 50, maybe timeframe daily.
Observe the Price Action
When price moves up, then dips, see if it comes back near the shaded cloud or one of the EMAs.
See if the dip touches the EMAs lightly (not a big drop) and then price starts climbing again.
Look for undercuts
If price briefly goes below a line (or below cloud) and then closes back above, that’s undercut + recovery. That bounce back is often meaningful.
Manage risk
Only put in money you can afford to lose.
Use small position size until you get comfortable.
Use stop-loss (as mentioned) in case the price doesn’t bounce as expected.
Practice
Put this indicator on charts (stocks you follow) in past time periods. See how price behaved with pullbacks / undercuts relative to the EMAs & cloud. This helps you learn to see signals.
What It Doesn’t Do (and What to Be Careful Of)
It doesn’t predict the future — it simply shows zones and trends. Price can still break down through the cloud.
In a “choppy” market (i.e. when price is going up and down without a clear trend), signals from EMAs / clouds are less reliable. You’ll get more “false bounces.”
Under / overshoots & big news events can break through clean levels, so always watch for confirmation (volume, price behavior) before putting big money in.
Rolling Range Bands by tvigRolling Range Bands
Plots two dynamic price envelopes that track the highest and lowest prices over a Short and Long lookback. Use them to see near-term vs. broader market structure, evolving support/resistance, and volatility changes at a glance.
What it shows
• Short Bands: recent trading range (fast, more reactive).
• Long Bands: broader range (slow, structural).
• Optional step-line style and shaded zones for clarity.
• Option to use completed bar values to avoid intrabar jitter (no repaint).
How to read
• Price pressing the short high while the long band rises → short-term momentum in a larger uptrend.
• Price riding the short low inside a falling long band → weakness with trend alignment.
• Band squeeze (narrowing) → compression; watch for breakout.
• Band expansion (widening) → rising volatility; expect larger swings.
• Repeated touches/rejections of long bands → potential areas of support/resistance.
Inputs
• Short Window, Long Window (bars)
• Use Close only (vs. High/Low)
• Use completed bar values (stability)
• Step-line style and Band shading
Tips
• Works on any symbol/timeframe; tune windows to your market.
• For consistent scaling, pin the indicator to the same right price scale as the chart.
Not financial advice; combine with trend/volume/RSI or your system for entries/exits.
[blackcat] L2 Trend LinearityOVERVIEW
The L2 Trend Linearity indicator is a sophisticated market analysis tool designed to help traders identify and visualize market trend linearity by analyzing price action relative to dynamic support and resistance zones. This powerful Pine Script indicator utilizes the Arnaud Legoux Moving Average (ALMA) algorithm to calculate weighted price calculations and generate dynamic support/resistance zones that adapt to changing market conditions. By visualizing market zones through colored candles and histograms, the indicator provides clear visual cues about market momentum and potential trading opportunities. The script generates buy/sell signals based on zone crossovers, making it an invaluable tool for both technical analysis and automated trading strategies. Whether you're a day trader, swing trader, or algorithmic trader, this indicator can help you identify market regimes, support/resistance levels, and potential entry/exit points with greater precision.
FEATURES
Dynamic Support/Resistance Zones: Calculates dynamic support (bear market zone) and resistance (bull market zone) using weighted price calculations and ALMA smoothing
Visual Market Representation: Color-coded candles and histograms provide immediate visual feedback about market conditions
Smart Signal Generation: Automatic buy/sell signals generated from zone crossovers with clear visual indicators
Customizable Parameters: Four different ALMA smoothing parameters for various timeframes and trading styles
Multi-Timeframe Compatibility: Works across different timeframes from 1-minute to weekly charts
Real-time Analysis: Provides instant feedback on market momentum and trend direction
Clear Visual Cues: Green candles indicate bullish momentum, red candles indicate bearish momentum, and white candles indicate neutral conditions
Histogram Visualization: Blue histogram shows bear market zone (below support), aqua histogram shows bull market zone (above resistance)
Signal Labels: "B" labels mark buy signals (price crosses above resistance), "S" labels mark sell signals (price crosses below support)
Overlay Functionality: Works as an overlay indicator without cluttering the chart with unnecessary elements
Highly Customizable: All parameters can be adjusted to suit different trading strategies and market conditions
HOW TO USE
Add the Indicator to Your Chart
Open TradingView and navigate to your desired trading instrument
Click on "Indicators" in the top menu and select "New"
Search for "L2 Trend Linearity" or paste the Pine Script code
Click "Add to Chart" to apply the indicator
Configure the Parameters
ALMA Length Short: Set the short-term smoothing parameter (default: 3). Lower values provide more responsive signals but may generate more false signals
ALMA Length Medium: Set the medium-term smoothing parameter (default: 5). This provides a balance between responsiveness and stability
ALMA Length Long: Set the long-term smoothing parameter (default: 13). Higher values provide more stable signals but with less responsiveness
ALMA Length Very Long: Set the very long-term smoothing parameter (default: 21). This provides the most stable support/resistance levels
Understand the Visual Elements
Green Candles: Indicate bullish momentum when price is above the bear market zone (support)
Red Candles: Indicate bearish momentum when price is below the bull market zone (resistance)
White Candles: Indicate neutral market conditions when price is between support and resistance zones
Blue Histogram: Shows bear market zone when price is below support level
Aqua Histogram: Shows bull market zone when price is above resistance level
"B" Labels: Mark buy signals when price crosses above resistance
"S" Labels: Mark sell signals when price crosses below support
Identify Market Regimes
Bullish Regime: Price consistently above resistance zone with green candles and aqua histogram
Bearish Regime: Price consistently below support zone with red candles and blue histogram
Neutral Regime: Price oscillating between support and resistance zones with white candles
Generate Trading Signals
Buy Signals: Look for price crossing above the bull market zone (resistance) with confirmation from green candles
Sell Signals: Look for price crossing below the bear market zone (support) with confirmation from red candles
Confirmation: Always wait for confirmation from candle color changes before entering trades
Optimize for Different Timeframes
Scalping: Use shorter ALMA lengths (3-5) for 1-5 minute charts
Day Trading: Use medium ALMA lengths (5-13) for 15-60 minute charts
Swing Trading: Use longer ALMA lengths (13-21) for 1-4 hour charts
Position Trading: Use very long ALMA lengths (21+) for daily and weekly charts
LIMITATIONS
Whipsaw Markets: The indicator may generate false signals in choppy, sideways markets where price oscillates rapidly between support and resistance
Lagging Nature: Like all moving average-based indicators, there is inherent lag in the calculations, which may result in delayed signals
Not a Standalone Tool: This indicator should be used in conjunction with other technical analysis tools and risk management strategies
Market Structure Dependency: Performance may vary depending on market structure and volatility conditions
Parameter Sensitivity: Different markets may require different parameter settings for optimal performance
No Volume Integration: The indicator does not incorporate volume data, which could provide additional confirmation signals
Limited Backtesting: Pine Script limitations may restrict comprehensive backtesting capabilities
Not Suitable for All Instruments: May perform differently on stocks, forex, crypto, and futures markets
Requires Confirmation: Signals should always be confirmed with other indicators or price action analysis
Not Predictive: The indicator identifies current market conditions but does not predict future price movements
NOTES
ALMA Algorithm: The indicator uses the Arnaud Legoux Moving Average (ALMA) algorithm, which is known for its excellent smoothing capabilities and reduced lag compared to traditional moving averages
Weighted Price Calculations: The bear market zone uses (2low + close) / 3, while the bull market zone uses (high + 2close) / 3, providing more weight to recent price action
Dynamic Zones: The support and resistance zones are dynamic and adapt to changing market conditions, making them more responsive than static levels
Color Psychology: The color scheme follows traditional trading psychology - green for bullish, red for bearish, and white for neutral
Signal Timing: The signals are generated on the close of each bar, ensuring they are based on complete price action
Label Positioning: Buy signals appear below the bar (red "B" label), while sell signals appear above the bar (green "S" label)
Multiple Timeframes: The indicator can be applied to multiple timeframes simultaneously for comprehensive analysis
Risk Management: Always use proper risk management techniques when trading based on indicator signals
Market Context: Consider the overall market context and trend direction when interpreting signals
Confirmation: Look for confirmation from other indicators or price action patterns before entering trades
Practice: Test the indicator on historical data before using it in live trading
Customization: Feel free to experiment with different parameter combinations to find what works best for your trading style
THANKS
Special thanks to the TradingView community and the Pine Script developers for creating such a powerful and flexible platform for technical analysis. This indicator builds upon the foundation of the ALMA algorithm and various moving average techniques developed by technical analysis pioneers. The concept of dynamic support and resistance zones has been refined over decades of market analysis, and this script represents a modern implementation of these timeless principles. We acknowledge the contributions of all traders and developers who have contributed to the evolution of technical analysis and continue to push the boundaries of what's possible with algorithmic trading tools.
Previous Day OHLC Dashboard (Last N Days)Indicator: Previous Day OHLC Dashboard (Multi-Day)
This indicator displays a dashboard-style table on your chart that shows the Open, High, Low, and Close (OHLC) of the previous trading days. It’s designed to help traders quickly reference key daily levels that often act as important support and resistance zones.
🔑 Features:
Dashboard Table: Shows OHLC data for the last N trading days (default = 3, up to 10).
Customizable Appearance:
Change the position of the dashboard (Top-Right, Top-Left, Bottom-Right, Bottom-Left).
Adjust text size (Tiny → Huge).
Customize colors for header, labels, and each OHLC column.
Yesterday’s OHLC Lines (optional): Plots horizontal lines on the chart for the previous day’s Open, High, Low, and Close.
Intraday & Multi-Timeframe Compatible: Works on all timeframes below Daily — values update automatically from the daily chart.
📊 Use Cases:
Quickly identify yesterday’s key levels for intraday trading.
Track how current price reacts to previous day’s support/resistance.
Keep a multi-day reference for trend bias and range context.
⚙️ How it Works:
The indicator pulls daily OHLC values using request.security() with lookahead_on to ensure prior day’s values are extended across the next session.
These values are displayed in a compact table for quick reference.
Optionally, the most recent daily levels (D-1) are plotted as chart lines.
✅ Perfect for day traders, scalpers, and swing traders who rely on yesterday’s price action to plan today’s trades.
Market Imbalance Tracker (Inefficient Candle + FVG)# 📊 Overview
This indicator combines two imbalance concepts:
• **Squared Up Points (SUP)** – midpoints of large, "inefficient" candles that often attract price back.
• **Fair Value Gaps (FVG)** – 3-candle gaps created by strong impulse moves that often get "filled."
Use them separately or together. Confluence between a SUP line and an FVG boundary/midpoint is high-value.
---
# ⚡ Quick Start (2 minutes)
1. **Add to chart** → keep defaults (Percentile method, 80th percentile, 100-bar lookback).
2. **Watch** for dashed SUP lines to print after large candles.
3. **Toggle Show FVG** → see green/red boxes where gaps exist.
4. **Turn on alerts** → New SUP created, SUP touched, New FVG.
5. **Trade the reaction** → look for confluence (SUP + FVG + S/R), then manage risk.
---
# 🛠 Features
## 🔹 Squared Up Points (SUP)
• **Purpose:** Midpoint of a large candle → potential support/resistance magnet.
• **Detection:** Choose *Percentile* (adaptive) or *ATR Multiple* (absolute).
• **Validation:** Only plots if the preceding candle does not touch the midpoint (with tolerance).
• **Lifecycle:** Line auto-extends into the future; it's removed when touched or aged out.
• **Visual:** Horizontal dashed line (color/width configurable; style fixed to dashed if not exposed).
## 🔹 Fair Value Gaps (FVG)
• **Purpose:** 3-candle gaps from an impulse; price often revisits to "fill."
• **Detection:** Requires a strong directional candle (Marubozu threshold) creating a gap.
• **Types:**
- **Bullish FVG (Green):** Gap below; expectation is downward fill.
- **Bearish FVG (Red):** Gap above; expectation is upward fill.
• **Close Rules (if implemented):**
- *Full Fill:* Gap closes when the opposite boundary is tagged.
- *Midpoint Fill:* Gap closes when its midpoint is tagged.
• **Visual:** Colored boxes; optional split-coloring to emphasize the midpoint.
> **Note:** If a listed FVG option isn't visible in Inputs, you're on a lighter build; use the available switches.
---
# ⚙️ Settings
## SUP Settings
• **Candle Size Method:** Percentile (top X% of recent ranges) or ATR Multiple.
• **Candle Size Percentile:** e.g., 80 → top 20% largest candles.
• **ATR Multiple & Period:** e.g., 1.5 × ATR(14).
• **Percentile Lookback:** Bars used to compute percentile.
• **Lookback Period:** How long SUP lines remain eligible before auto-cleanup.
• **Touch Tolerance (%):** Buffer based on the inefficient candle's range (0% = exact touch).
## Line Appearance
• **Line Color / Width:** Customizable.
• **Style:** Dashed (fixed unless you expose a style input).
## FVG Settings (if present in your build)
• **Show FVG:** On/Off.
• **Close Method:** Full Fill or Midpoint.
• **Marubozu Wick Tolerance:** Max wick % of the impulse bar.
• **Use Split Coloring:** Two-tone box halves around midpoint.
• **Colors:** Bullish/Bearish, and upper/lower halves (if split).
• **Max FVG Age:** Auto-remove older gaps.
---
# 📈 How to Use
## Trading Applications
• **SUP Lines:** Expect reaction on first touch; use as S/R or profit-taking magnets.
• **FVG Fills:** Price frequently tags the midpoint/boundary before continuing.
• **Confluence:** SUP at an FVG midpoint/boundary + higher-timeframe S/R = higher quality.
• **Bias:** Clusters of unfilled FVGs can hint at path of least resistance.
## Best Practices
• **Timeframe:** HTFs for swing levels, LTFs for execution.
• **Volume:** High volume at level = stronger signal.
• **Context:** Trade with broader trend or at least avoid counter-trend without confirmation.
• **Risk:** Always pre-define invalidation; structures fail in chop.
---
# 🔔 Alerts
• **New SUP Created** – When a qualifying inefficient candle prints a SUP midpoint.
• **SUP Touched/Invalidated** – When price touches within tolerance.
• **New FVG Detected** – When a valid gap forms per your rules.
> **Tip:** Set alerts *Once Per Bar Close* on HTFs; *Once* on LTFs to avoid noise.
---
# 🧑💻 Technical Notes
• **Percentile vs ATR:** Percentile adapts to volatility; ATR gives consistency for backtesting.
• **FVG Direction Logic:** Gap above price = bearish (expect up-fill); below = bullish (expect down-fill).
• **Performance:** Limits on lines/boxes and auto-aging keep things snappy.
---
# ⚠️ Limitations
• Imbalances are **context tools**, not signals by themselves.
• Works best with trend or clear impulses; expect noise in narrow ranges.
• Lower-timeframe gaps can be plentiful and lower quality.
---
# 📌 Version & Requirements
• **Pine Script v6**
• Heavy drawings may require **TradingView Pro** or higher (object limits).
---
*For best results, combine with your existing trading strategy and proper risk management.*
Reverse RSI Signals [AlgoAlpha]🟠 OVERVIEW
This script introduces the Reverse RSI Signals system, an original approach that inverts traditional RSI values back into price levels and then overlays them directly on the chart as dynamic bands. Instead of showing RSI in a subwindow, the script calculates the exact price thresholds that correspond to common RSI levels (30/70/50) and displays them as upper, lower, and midline bands. These are further enhanced with an adaptive Supertrend filter and divergence detection, allowing traders to see overbought/oversold zones translated into actionable price ranges and trend signals. The script combines concepts of RSI inversion, volatility envelopes, and divergence tracking to provide a context-driven tool for spotting reversals and regime shifts.
🟠 CONCEPTS
The script relies on inverting RSI math: by solving for the price that would yield a given RSI level, it generates real chart levels tied to oscillator conditions. These RSI-derived price bands act like support/resistance, adapting each bar as RSI changes. On top of this, a Supertrend built around the RSI midline introduces directional bias, switching regimes when the midline is breached. Regular bullish and bearish divergences are detected by comparing RSI pivots against price pivots, highlighting early reversal conditions. This layered approach means the indicator is not just RSI on price but a hybrid of oscillator translation, volatility-tracking midline envelopes, and divergence analysis.
🟠 FEATURES
Inverted RSI bands: upper (70), lower (30), and midline (50), smoothed with EMA for noise reduction.
Supertrend overlay on the RSI midline to confirm regime direction (bullish or bearish).
Gradient-filled zones between outer and inner RSI bands to visualize proximity and exhaustion.
Non-repainting bullish and bearish divergence markers plotted directly on chart highs/lows.
🟠 USAGE
Apply the indicator to any chart and use the plotted RSI price bands as adaptive support/resistance. The midline defines equilibrium, while upper and lower bands represent classic RSI thresholds translated into real price action. In bullish regimes (green candles), long trades are stronger when price approaches or bounces from the lower band; in bearish regimes (red candles), shorts are favored near the upper band. Divergence markers (▲ for bullish, ▼ for bearish) flag potential reversal points early. Traders can combine the band proximity, divergence alerts, and Supertrend context to time entries, exits, or to refine ongoing trend trades. Adjust smoothing and Supertrend ATR settings to match the volatility of the instrument being analyzed.
XAUUSD Strength Dashboard with VolumeXAUUSD Strength Dashboard with Volume Analysis
📌 Description
This advanced Pine Script indicator provides a multi-timeframe dashboard for XAUUSD (Gold vs. USD), combining price action analysis with volume confirmation to generate high-probability trading signals. It detects:
✅ Break of Structure (BOS)
✅ Fair Value Gaps (FVG)
✅ Change of Character (CHOCH)
✅ Trendline Breaks (9/21 SMA Crossover)
✅ Volume Spikes (Confirmation of Strength)
The dashboard displays strength scores (0-100%) and action recommendations (Strong Buy/Buy/Neutral/Sell/Strong Sell) across multiple timeframes, helping traders identify confluences for better trade decisions.
🎯 How It Works
1. Multi-Timeframe Analysis
Fetches data from 1m, 5m, 15m, 30m, 1h, 4h, Daily, and Weekly timeframes.
Compares trend direction, BOS, FVG, CHOCH, and volume spikes across all timeframes.
2. Volume-Confirmed Strength Score
The Strength Score (0-100%) is calculated using:
Trend Direction (25 points) → 9 SMA vs. 21 SMA
Break of Structure (20 points) → New highs/lows with momentum
Fair Value Gaps (10 points) → Imbalance zones
Change of Character (10 points) → Shift in market structure
Trendline Break (20 points) → SMA crossover confirmation
Volume Spike (15 points) → High volume confirms moves
Score Interpretation:
≥75% → Strong Buy (High confidence bullish move)
60-74% → Buy (Bullish but weaker confirmation)
40-59% → Neutral (No strong bias)
25-39% → Sell (Bearish but weaker confirmation)
≤25% → Strong Sell (High confidence bearish move)
3. Dashboard & Chart Markers
Dashboard Table: Shows Trend, BOS, Volume, CHOCH, TL Break, Strength %, Key Level, and Action for each timeframe.
Chart Markers:
🟢 Green Triangles → Bullish BOS
🔴 Red Triangles → Bearish BOS
🟢 Green Circles → Bullish CHOCH
🔴 Red Circles → Bearish CHOCH
📈 Green Arrows → Bullish Trendline Break
📉 Red Arrows → Bearish Trendline Break
"Vol↑" (Lime) → Bullish Volume Spike
"Vol↓" (Maroon) → Bearish Volume Spike
🚀 How to Use
1. Dashboard Interpretation
Higher Timeframes (D/W) → Show the dominant trend.
Lower Timeframes (1m-4h) → Help with entry timing.
Strength Score ≥75% or ≤25% → Look for high-confidence trades.
Volume Spikes → Confirm breakouts/reversals.
2. Trading Strategy
📈 Long (Buy) Setup:
Higher TFs (D/W/4h) show bullish trend (↑).
Current TF has BOS & Volume Spike.
Strength Score ≥60%.
Key Level (Low) holds as support.
📉 Short (Sell) Setup:
Higher TFs (D/W/4h) show bearish trend (↓).
Current TF has BOS & Volume Spike.
Strength Score ≤40%.
Key Level (High) holds as resistance.
3. Customization
Adjust Volume Spike Multiplier (Default: 1.5x) → Controls sensitivity to volume spikes.
Toggle Timeframes → Enable/disable higher/lower timeframes.
🔑 Key Benefits
✔ Multi-Timeframe Confluence → Avoids false signals.
✔ Volume Confirmation → Filters low-quality breakouts.
✔ Clear Strength Scoring → Removes emotional bias.
✔ Visual Chart Markers → Easy to spot key signals.
This indicator is ideal for gold traders who follow institutional order flow, market structure, and volume analysis to improve their trading decisions.
🎯 Best Used With:
Support/Resistance Levels
Fibonacci Retracements
Price Action Confirmation
🚀 Happy Trading! 🚀
MR.Z Strategy Reversal Signal Nadaraya SMA)Nadaraya-Watson Envelope (NW Envelope):
A smoothed, non-linear dynamic envelope that adapts to price structure. It visually identifies price extremes using kernel regression. The upper and lower bands move with the chart and provide reliable dynamic support and resistance.
EMA Levels:
Includes three key exponential moving averages:
EMA 50 (short-term trend)
EMA 100 (medium-term)
EMA 200 (long-term, institutional level)
Fully Scrollable and Responsive:
All lines and envelopes are plotted using plot() so they move with the chart and respond to zoom and pan actions naturally.
🧠 Ideal Use:
Identify reversal zones, dynamic support/resistance, and trend momentum exhaustion.
Combine WTB and NW Envelope for confluence-based entries.
Use EMA structure for trend confirmation or breakout anticipation.
Let me know if you'd like to add:
Divergence detection
Buy/Sell signals
Alerts or signal filtering options
I’ll be happy to extend the description or the script accordingly!
Adaptive Volume‐Demand‐Index (AVDI)Demand Index (according to James Sibbet) – Short Description
The Demand Index (DI) was developed by James Sibbet to measure real “buying” vs. “selling” strength (Demand vs. Supply) using price and volume data. It is not a standalone trading signal, but rather a filter and trend confirmer that should always be used together with chart structure and additional indicators.
---
\ 1. Calculation Basis\
1. Volume Normalization
$$
\text{normVol}_t
= \frac{\text{Volume}_t}{\mathrm{EMA}(\text{Volume},\,n_{\text{Vol}})_t}
\quad(\text{e.g., }n_{\text{Vol}} = 13)
$$
This smooths out extremely high volume spikes and compares them to the average (≈ 1 means “average volume”).
2. Price Factor
$$
\text{priceFactor}_t
= \frac{\text{Close}_t - \text{Open}_t}{\text{Open}_t}.
$$
Positive values for bullish bars, negative for bearish bars.
3. Component per Bar
$$
\text{component}_t
= \text{normVol}_t \times \text{priceFactor}_t.
$$
If volume is above average (> 1) and the price rises slightly, this yields a noticeably positive value; conversely if the price falls.
4. Raw DI (Rolling Sum)
Over a window of \$w\$ bars (e.g., 20):
$$
\text{RawDI}_t
= \sum_{i=0}^{w-1} \text{component}_{\,t-i}.
$$
Alternatively, recursively for \$t \ge w\$:
$$
\text{RawDI}_t
= \text{RawDI}_{t-1}
+ \text{component}_t
- \text{component}_{\,t-w}.
$$
5. Optional EMA Smoothing
An EMA over RawDI (e.g., \$n\_{\text{DI}} = 50\$) reduces short-term fluctuations and highlights medium-term trends:
$$
\text{EMA\_DI}_t
= \mathrm{EMA}(\text{RawDI},\,n_{\text{DI}})_t.
$$
6.Zero Line
Handy guideline:
RawDI > 0: Accumulated buying power dominates.
RawDI < 0: Accumulated selling power dominates.
2. Interpretation & Application
Crossing Zero
RawDI above zero → Indication of increasing buying pressure (potential long signal).
RawDI below zero → Indication of increasing selling pressure (potential short signal).
Not to be used alone for entry—always confirm with price action.
RawDI vs. EMA_DI
RawDI > EMA\_DI → Acceleration of demand.
RawDI < EMA\_DI → Weakening of demand.
Divergences
Price makes a new high, RawDI does not make a higher high → potential weakness in the uptrend.
Price makes a new low, RawDI does not make a lower low → potential exhaustion of the downtrend.
3. Typical Signals (for Beginners)
\ 1. Long Setup\
RawDI crosses zero from below,
RawDI > EMA\_DI (acceleration),
Price closes above a short-term swing high or resistance.
Stop-Loss: just below the last swing low, Take-Profit/Trailing: on reversal signals or fixed R\:R.
2. Short Setup
RawDI crosses zero from above,
RawDI < EMA\_DI (increased selling pressure),
Price closes below a short-term swing low or support.
Stop-Loss: just above the last swing high.
---
4. Notes and Parameters
Recommended Values (Beginners):
Volume EMA (n₍Vol₎) = 13
RawDI window (w) = 20
EMA over DI (n₍DI₎) = 50 (medium-term) or 1 (no smoothing)
Attention:\
NEVER use in isolation. Always in combination with price action analysis (trendlines, support/resistance, candlestick patterns).
Especially during volatile news phases, RawDI can fluctuate strongly → EMA\_DI helps to avoid false signals.
---
Conclusion The Demand Index by James Sibbet is a powerful filter to assess price movements by their volume backing. It shows whether a rally is truly driven by demand or merely a short-term volume anomaly. In combination with classic chart analysis and risk management, it helps to identify robust entry points and potential trend reversals earlier.
Tight Range Display with Background🌟 Tight Range Transparency Display with Background
What Is This Indicator?
Hey traders! Ever wanted a simple way to spot those quiet, low-volatility moments in the market that often signal a big move is coming? The Tight Range Transparency Display with Background does exactly that! This indicator highlights periods where the price is moving in a tight range—think of it as the calm before the storm. It paints the chart background blue to show these zones, with the shade getting darker the tighter the range becomes. It’s like having a visual cue to say, “Hey, something might be brewing here!”
Why You’ll Love It
Spot Key Moments Easily: The blue background makes it super easy to see when the market is in a tight range, which often happens before breakouts or big trends.
Customizable Settings: You can tweak the range thresholds to match your trading style—whether you’re looking for super tight zones or slightly broader ones.
Visual Clarity: The background gets darker when the range is tighter, giving you a quick sense of how compressed the price action is.
Perfect for Any Market: Works on stocks, forex, crypto, or any chart you trade, across any timeframe.
How to Use It
Add It to Your Chart:
Just copy this script into TradingView’s Pine Editor and hit "Add to Chart." It’ll overlay right on your price chart.
Tweak the Settings:
Open the indicator settings and use the dropdown menus to pick your preferred "Tight Range %" and "Wide Range %." For example, set a Tight Range % of 2.0% to catch smaller ranges, or go higher like 10.0% for broader ones.
You can also adjust the ATR Period (default is 5) to make the indicator more or less sensitive to recent price swings.
Watch for the Blue Background:
When the price enters a tight range, the chart background turns blue. The darker the blue, the tighter the range—meaning a potential breakout could be closer!
Trade Smarter:
Use these tight range zones to prepare for potential breakouts. For example, if you see a dark blue background, it might be a good time to watch for a big price move.
Pair this with other tools like support/resistance levels or volume spikes to confirm your trades.
Who Is This For?
Swing Traders: Perfect for spotting consolidation zones before a big swing.
Breakout Traders: Tight ranges often lead to breakouts—use this to time your entries.
Smart Money Followers: If you’re into smart money concepts, tight ranges can signal accumulation or distribution phases.
Beginners & Pros Alike: It’s easy to use for new traders but powerful enough for seasoned pros.
Real-World Example
Imagine you’re trading a stock on a 1-hour chart. You notice the background turns blue, and it’s getting darker over a few bars. This tells you the price range is tightening—maybe the stock is consolidating after a big move. You check your other indicators, see a volume spike, and spot a breakout above resistance. Boom! You catch the next big trend, all because this indicator helped you focus on the right moment.
Tips for Best Results
Try Different Timeframes: Tight ranges on a 15-minute chart might signal short-term moves, while a daily chart could highlight bigger trends.
Adjust for Your Market: For volatile markets like crypto, you might want a higher Tight Range % (e.g., 10.0%). For calmer markets like forex, try a lower setting (e.g., 2.0%).
Combine with Other Tools: Use this alongside trendlines, moving averages, or volume indicators to confirm your setups.
Why I Made This
I created this indicator because I wanted a simple, visual way to spot those critical low-volatility zones without cluttering my chart. The dynamic background color makes it intuitive to see when the market is “coiling up” for a potential move. I hope it helps you find better trading opportunities just like it does for me!
Let’s Connect
If you find this indicator helpful, I’d love to hear about it! Drop a comment or a rating to let me know how it’s working for you. Got ideas to make it even better? Feel free to message me on TradingView—I’m always open to suggestions.
Published On
Date: May 22, 2025
Happy trading, and may your charts always be in your favor! 🚀
How to Publish on TradingView
Open Pine Editor:
On TradingView, open a chart and go to the Pine Editor tab at the bottom.
Paste the Code:
Copy the script you provided and paste it into the Pine Editor.
Compile:
Click "Add to Chart" to ensure it compiles without errors.
Publish:
Click the "Publish Script" button (paper plane icon) in the Pine Editor.
Select "Publish New Script."
Add the Description:
Title: "Tight Range Transparency Display with Background"
Description: Copy the content above into the description field.
Visibility: Choose "Public" to share with everyone (or "Invite-Only" for restricted access).
Tags: Add tags like "tight range", "breakout", "smart money", "volatility", "swing trading".
Screenshot: Add a screenshot of the indicator on a chart, showing the blue background during a tight range.
Submit:
Click "Publish" to submit. TradingView will review it and make it live if it meets their guidelines.
Additional Notes
Screenshot Tip: Use a chart where the blue background is clearly visible (e.g., during a consolidation period) to make the indicator’s effect stand out.
Engage with Users: After publishing, respond to comments and feedback to build a positive reputation on TradingView.
This content is designed to be approachable and engaging, helping traders understand the value of your indicator and encouraging them to try it out.
VWAP Breakout Strategy + EMAs + Clean Cycle/TP/SL PlotsHere’s a quick user-guide to get you up and running with your “VWAP Breakout Strategy + EMAs + Clean Cycle/TP/SL Plots” script in TradingView:
⸻
1. Installing the Script
1. Open TradingView, go to Pine Editor (bottom panel).
2. Paste in your full Pine-v6 code and hit Add to chart.
3. Save it (“Save as…”): give it a memorable name (e.g. “VWAP Breakout+EMAs”).
⸻
2. Configuring Your Inputs
Once it’s on the chart, click the ⚙️ Settings icon to tune:
Setting Default What it does
ATR Length 14 Period for average true range (volatility measure)
ATR Multiplier for Stop 1.5 How many ATRs away your stop-loss sits
TP1 / TP2 Multipliers (ATR) 1.0 / 2.0 Distance of TP1 and TP2 in ATR multiples
Show VWAP / EMAs On Toggles the blue VWAP line & EMAs (100/34/5)
Full Cycle Range Points 200 Height of the shaded “cycle zone”
Pivot Lookback 5 How many bars back to detect a pivot low
Round Number Step 500 Spacing of your dotted horizontal lines
Show TP/SL Labels On Toggles all the “ENTRY”, “TP1”, “TP2”, “STOP” tags
Feel free to adjust ATR multipliers and cycle-zone size based on the instrument’s typical range.
⸻
3. Reading the Signals
• Long Entry:
• Trigger: price crosses above VWAP
• You’ll see a green “Buy” tag at the low of the signal bar, plus an “ENTRY (Long)” label at the close.
• Stop is plotted as a red dashed line below (ATR × 1.5), and TP1/TP2 as teal and purple lines above.
• Short Entry:
• Trigger: price crosses below VWAP
• A red “Sell” tag appears at the high, with “ENTRY (Short)” at the close.
• Stop is the green line above; TP1/TP2 are dashed teal/purple lines below.
⸻
4. Full Cycle Zone
Whenever a new pivot low is detected (using your Pivot Lookback), the script deletes the old box and draws a shaded yellow rectangle from that low up by “Full Cycle Range Points.”
• Use this to visualize the “maximum expected swing” from your pivot.
• You can quickly see whether price is still traveling within a normal cycle or has overstretched.
⸻
5. Round-Number Levels
With Show Round Number Levels enabled, you’ll always get horizontal dotted lines at the nearest multiples of your “Round Number Step” (e.g. every 500 points).
• These often act as psychological support/resistance.
• Handy to see confluence with VWAP or cycle-zone edges.
⸻
6. Tips & Best-Practices
• Timeframes: Apply on any intraday chart (5 min, 15 min, H1…), but match your ATR length & cycle-points to the timeframe’s typical range.
• Backtest first: Use the Strategy Tester tab to review performance, tweak ATR multipliers or cycle size, then optimize.
• Combine with context: Don’t trade VWAP breakouts blindly—look for confluence (e.g. support/resistance zones, higher-timeframe trend).
• Label clutter: If too many labels build up, you can toggle Show TP/SL Labels off and rely just on the lines.
⸻
That’s it! Once you’ve added it to your chart and dialed in the inputs, your entries, exits, cycle ranges, and key levels will all be plotted automatically. Feel free to experiment with the ATR multipliers and cycle-zone size until it fits your instrument’s personality. Happy trading!
SuperTrade Ichimoku Cloud StrategyUnlike SuperTrade's Super Trend the Ichimoku Cloud Strategy is a trend-following system derived from the Ichimoku Kinko Hyo indicator. It helps identify market direction, momentum, and potential support/resistance zones. This strategy uses key components of the Ichimoku Cloud to determine bullish or bearish trends and executes trades accordingly.
🔍 Key Components Used
Conversion Line (Tenkan-sen) – short-term average (9-period Donchian midpoint by default)
Base Line (Kijun-sen) – medium-term average (26-period Donchian midpoint)
Leading Span A (Senkou Span A) – average of Conversion Line and Base Line, plotted forward by 26 periods.
Leading Span B (Senkou Span B) – 52-period Donchian midpoint, plotted forward by 26 periods.
Lagging Span (Chikou Span) – current close price, plotted backward by 26 periods (for visual reference only in this version).
The cloud (Kumo) is the area between Leading Span A and B, representing trend direction and potential support/resistance.
📈 Entry Rules (Buy Condition)
A long trade is entered when:
LeadLine1 > LeadLine2 → This implies a bullish cloud.
Close > LeadLine1 and Close > LeadLine2 → The price is trading above the cloud, confirming upward momentum.
This combination indicates a strong bullish trend, so the strategy enters a long position.
📉 Exit Rules (Sell Condition / Close Position)
The long trade is closed when:
LeadLine1 < LeadLine2 → This implies a bearish cloud.
Close < LeadLine1 and Close < LeadLine2 → The price has fallen below the cloud, signaling trend weakness or reversal.
This confirms a bearish trend, prompting the strategy to exit the long position.
✅ Must-Have Elements in This Strategy
Entry Logic – based on price position relative to the cloud and cloud direction.
Exit Logic – closes the position when price shifts to a bearish trend.
Overlay Enabled – plotted over price for visual confirmation of signals.
Dynamic Parameters – inputs for conversion/base/cloud lengths and displacement.
Visualization – plots all Ichimoku components including cloud fill for clarity.
No Shorting Logic Yet – this version only handles long trades; shorting can be added optionally.
No Stop-Loss or Take-Profit – trades are closed purely based on Ichimoku trend reversal.
Fibonacci Levels with MACD ConfirmationHow to Understand and Use the Fibonacci Levels with MACD Confirmation Script
This custom Pine Script is designed to give traders a clear visual framework by combining dynamic Fibonacci retracement levels, MACD histogram confirmation, and volatility-based swing zones. It aims to simplify trend analysis, improve entry timing, and adapt to various market conditions.
How to Interpret the 23.6% & 61.8% Labels
These Fibonacci levels represent key retracement zones where price often reacts during trend pullbacks or reversals.
The 23.6% level indicates a shallow retracement, useful in strong trends where price resumes early.
The 61.8% level is a deeper retracement, often a "last line of defense" before trend invalidation.
The script labels these zones with "CC 23.6" and "CC 61.8" when the price crosses them with MACD histogram confirmation:
Green label (CC) = bullish confirmation
Red label (CC) = bearish confirmation
How to Modify Inputs (Manual Adjustments)
Input Purpose Default How to Use
ATR Period Measures volatility 14 Increase for smoother, slower reactions; reduce for faster swings
Min Lookback Minimum bars for swing zone 20 Avoids short-term noise
Max Lookback Cap for swing zone scan 100 Avoids excessively wide retracement levels
Inverse Candle Chart Flips high/low logic false Enable for inverted analysis or backtesting "opposite logic"
How to Use the Inverse Candle Chart Option
Activating inverse mode flips candle logic:
Highs become negative lows, and vice versa.
Useful for:
Contrarian analysis
Inverse ETFs or short-biased views
Backtesting reverse-pattern behavior
How to Adjust the Style
You can manually personalize the script’s visual appearance:
Change line width in plot(..., linewidth=2) for bolder or thinner Fib levels.
Change colors from color.green, color.red, etc., to suit your theme.
Modify label.size, label.style, and label.color for different labeling visuals.
Customize MACD histogram style from plot.style_columns to other styles like style_histogram.
How the MACD is Set and Displayed
The MACD uses non-standard values:
Fast Length = 24
Slow Length = 52
Signal Smoothing = 18
These values slow down the indicator, reducing noise and aligning better with medium- to long-term trends.
MACD histogram is plotted directly on the main chart for faster, on-screen decision making.
Color-coded histogram:
Green/Lime = Bullish momentum increasing or steady
Red/Maroon = Bearish momentum increasing or steady
How to Use the Indicator in Real-World Trading
This indicator is most effective when used to:
✅ 1. Spot High-Probability Trend Continuation Zones
In a strong trend, price will often retrace to 23.6% or 61.8%, then resume.
Wait for:
Price to cross 23.6 or 61.8
MACD histogram rising (bullish) or falling (bearish)
"CC 23.6" or "CC 61.8" label to appear
🟢 Entry Example: Price retraces to Fib 61.8%, crosses up with green MACD histogram → take long position
✅ 2. Validate Reversal or Breakout Zones
These Fib levels also act as support/resistance.
If price crosses a Fib level but MACD fails to confirm, it may be a fake breakout.
Use confirmation labels only when MACD aligns.
✅ 3. Add Volatility Context (ATR) for Risk Management
The ATR label shows both value and %.
Use ATR to:
Set dynamic stop-losses (e.g., 1.5x ATR below entry)
Decide trade size based on volatility
How to Combine the Indicator With Other Tools
You can combine this script with other technical tools for a powerful trading framework:
🔁 With Moving Averages
Use 50/200 MA for overall trend direction
Take signals only in the direction of MA slope
🔄 With Price Action Patterns
Use the Fib/MACD signals at confluence points:
Support/resistance zones
Breakout retests
Candlestick patterns (pin bars, engulfing)
🔺 With Volume or Order Flow
Combine with volume spikes or order book signals
Confirm that Fib/MACD signals align with strong volume for conviction
✅ Trade Setup Summary
Criteria Long Setup Short Setup
Price at Fib Level At or crossing Fib 23.6 / 61.8 Same
MACD Histogram Rising and above previous bar Falling and below previous bar
Label Appears Green "CC 23.6" or "CC 61.8" Red "CC 23.6" or "CC 61.8"
Optional Filters Trend direction, ATR range, volume, price pattern Same
First EMA Touch (Last N Bars)Okay, here's a description of the "First EMA Touch (Last N Bars)" TradingView indicator:
Indicator Name: First EMA Touch (Last N Bars)
Core Purpose:
This indicator is designed to visually highlight on the chart the exact moment when the price (specifically, the high/low range of a price bar) makes contact with a specified Exponential Moving Average (EMA) for the first time within a defined recent lookback period (e.g., the last 20 bars).
How it Works:
EMA Calculation: It first calculates a standard Exponential Moving Average (EMA) based on the user-defined EMA Length and EMA Source (e.g., close price). This EMA line is plotted on the chart, often serving as a dynamic level of potential support or resistance.
"Touch" Detection: For every price bar, the indicator checks if the bar's range (from its low to its high) overlaps with or crosses the calculated EMA value for that bar. If low <= EMA <= high, it's considered a "touch".
"First Touch" Logic: This is the key feature. The indicator looks back over a specified number of preceding bars (defined by the Lookback Period). If a "touch" occurs on the current bar, and no "touch" occurred on any of the bars within that preceding lookback window, then the current touch is marked as the "first touch".
Visual Signal: When a "first touch" condition is met, the indicator plots a distinct shape (by default, a small green triangle) below the corresponding price bar. This makes it easy to spot these specific events.
Key Components & Settings:
EMA Line: The calculated EMA itself is plotted (typically as an orange line) for visual reference.
First Touch Signal: A shape (e.g., green triangle) appears below bars meeting the "first touch" criteria.
EMA Length (Input): Determines the period used for the EMA calculation. Shorter lengths make the EMA more reactive to recent price changes; longer lengths make it smoother and slower.
Lookback Period (Input): Defines how many bars (including the current one) the indicator checks backwards to determine if the current touch is the first one. A lookback of 20 means it checks if there was a touch in the previous 19 bars before signalling the current one as the first.
EMA Source (Input): Specifies which price point (close, open, high, low, hl2, etc.) is used to calculate the EMA.
Interpretation & Potential Uses:
Identifying Re-tests: The signal highlights when price returns to test the EMA after having stayed away from it for the duration of the lookback period. This can be significant as the market re-evaluates the EMA level.
Potential Reversal/Continuation Points: A first touch might indicate:
A potential area where a trend might resume after a pullback (if price bounces off the EMA).
A potential area where a reversal might begin (if price strongly rejects the EMA).
A point of interest if price consolidates around the EMA after the first touch.
Filtering Noise: By focusing only on the first touch within a period, it can help filter out repeated touches that might occur during choppy or consolidating price action around the EMA.
Confluence: Traders might use this signal in conjunction with other forms of analysis (e.g., horizontal support/resistance, trendlines, candlestick patterns, other indicators) to strengthen trade setups.
Limitations:
Lagging: Like all moving averages, the EMA is a lagging indicator.
Not Predictive: The signal indicates a specific past event (the first touch) occurred; it doesn't guarantee a future price movement.
Parameter Dependent: The effectiveness and frequency of signals heavily depend on the chosen EMA Length and Lookback Period. These may need tuning for different assets and timeframes.
Requires Confirmation: It's generally recommended to use this indicator as part of a broader trading strategy and not rely solely on its signals for trade decisions.
In essence, the "First EMA Touch (Last N Bars)" indicator provides a specific, refined signal related to price interaction with a moving average, helping traders focus on potentially significant initial tests of the EMA after a period of separation.
02 SMC + BB Breakout (Improved)This strategy combines Smart Money Concepts (SMC) with Bollinger Band breakouts to identify potential trading opportunities. SMC focuses on identifying key price levels and market structure shifts, while Bollinger Bands help pinpoint overbought/oversold conditions and potential breakout points. The strategy also incorporates higher timeframe trend confirmation to filter out trades that go against the prevailing trend.
Key Components:
Bollinger Bands:
Calculated using a Simple Moving Average (SMA) of the closing price and a standard deviation multiplier.
The strategy uses the upper and lower bands to identify potential breakout points.
The SMA (basis) acts as a centerline and potential support/resistance level.
The fill between the upper and lower bands can be toggled by the user.
Higher Timeframe Trend Confirmation:
The strategy allows for optional confirmation of the current trend using a higher timeframe (e.g., daily).
It calculates the SMA of the higher timeframe's closing prices.
A bullish trend is confirmed if the higher timeframe's closing price is above its SMA.
This helps filter out trades that go against the prevailing long-term trend.
Smart Money Concepts (SMC):
Order Blocks:
Simplified as recent price clusters, identified by the highest high and lowest low over a specified lookback period.
These levels are considered potential areas of support or resistance.
Liquidity Zones (Swing Highs/Lows):
Identified by recent swing highs and lows, indicating areas where liquidity may be present.
The Swing highs and lows are calculated based on user defined lookback periods.
Market Structure Shift (MSS):
Identifies potential changes in market structure.
A bullish MSS occurs when the closing price breaks above a previous swing high.
A bearish MSS occurs when the closing price breaks below a previous swing low.
The swing high and low values used for the MSS are calculated based on the user defined swing length.
Entry Conditions:
Long Entry:
The closing price crosses above the upper Bollinger Band.
If higher timeframe confirmation is enabled, the higher timeframe trend must be bullish.
A bullish MSS must have occurred.
Short Entry:
The closing price crosses below the lower Bollinger Band.
If higher timeframe confirmation is enabled, the higher timeframe trend must be bearish.
A bearish MSS must have occurred.
Exit Conditions:
Long Exit:
The closing price crosses below the Bollinger Band basis.
Or the Closing price falls below 99% of the order block low.
Short Exit:
The closing price crosses above the Bollinger Band basis.
Or the closing price rises above 101% of the order block high.
Position Sizing:
The strategy calculates the position size based on a fixed percentage (5%) of the strategy's equity.
This helps manage risk by limiting the potential loss per trade.
Visualizations:
Bollinger Bands (upper, lower, and basis) are plotted on the chart.
SMC elements (order blocks, swing highs/lows) are plotted as lines, with user-adjustable visibility.
Entry and exit signals are plotted as shapes on the chart.
The Bollinger band fill opacity is adjustable by the user.
Trading Logic:
The strategy aims to capitalize on Bollinger Band breakouts that are confirmed by SMC signals and higher timeframe trend. It looks for breakouts that align with potential market structure shifts and key price levels (order blocks, swing highs/lows). The higher timeframe filter helps avoid trades that go against the overall trend.
In essence, the strategy attempts to identify high-probability breakout trades by combining momentum (Bollinger Bands) with structural analysis (SMC) and trend confirmation.
Key User-Adjustable Parameters:
Bollinger Bands Length
Standard Deviation Multiplier
Higher Timeframe
Higher Timeframe Confirmation (on/off)
SMC Elements Visibility (on/off)
Order block lookback length.
Swing lookback length.
Bollinger band fill opacity.
This detailed description should provide a comprehensive understanding of the strategy's logic and components.
***DISCLAIMER: This strategy is for educational purposes only. It is not financial advice. Past performance is not indicative of future results. Use at your own risk. Always perform thorough backtesting and forward testing before using any strategy in live trading.***
ZigZag█ Overview
This Pine Script™ library provides a comprehensive implementation of the ZigZag indicator using advanced object-oriented programming techniques. It serves as a developer resource rather than a standalone indicator, enabling Pine Script™ programmers to incorporate sophisticated ZigZag calculations into their own scripts.
Pine Script™ libraries contain reusable code that can be imported into indicators, strategies, and other libraries. For more information, consult the Libraries section of the Pine Script™ User Manual.
█ About the Original
This library is based on TradingView's official ZigZag implementation .
The original code provides a solid foundation with user-defined types and methods for calculating ZigZag pivot points.
█ What is ZigZag?
The ZigZag indicator filters out minor price movements to highlight significant market trends.
It works by:
1. Identifying significant pivot points (local highs and lows)
2. Connecting these points with straight lines
3. Ignoring smaller price movements that fall below a specified threshold
Traders typically use ZigZag for:
- Trend confirmation
- Identifying support and resistance levels
- Pattern recognition (such as Elliott Waves)
- Filtering out market noise
The algorithm identifies pivot points by analyzing price action over a specified number of bars, then only changes direction when price movement exceeds a user-defined percentage threshold.
█ My Enhancements
This modified version extends the original library with several key improvements:
1. Support and Resistance Visualization
- Adds horizontal lines at pivot points
- Customizable line length (offset from pivot)
- Adjustable line width and color
- Option to extend lines to the right edge of the chart
2. Support and Resistance Zones
- Creates semi-transparent zone areas around pivot points
- Customizable width for better visibility of important price levels
- Separate colors for support (lows) and resistance (highs)
- Visual representation of price areas rather than just single lines
3. Zig Zag Lines
- Separate colors for upward and downward ZigZag movements
- Visually distinguishes between bullish and bearish price swings
- Customizable colors for text
- Width customization
4. Enhanced Settings Structure
- Added new fields to the Settings type to support the additional features
- Extended Pivot type with supportResistance and supportResistanceZone fields
- Comprehensive configuration options for visual elements
These enhancements make the ZigZag more useful for technical analysis by clearly highlighting support/resistance levels and zones, and providing clearer visual cues about market direction.
█ Technical Implementation
This library leverages Pine Script™'s user-defined types (UDTs) to create a robust object-oriented architecture:
- Settings : Stores configuration parameters for calculation and display
- Pivot : Represents pivot points with their visual elements and properties
- ZigZag : Manages the overall state and behavior of the indicator
The implementation follows best practices from the Pine Script™ User Manual's Style Guide and uses advanced language features like methods and object references. These UDTs represent Pine Script™'s most advanced feature set, enabling sophisticated data structures and improved code organization.
For newcomers to Pine Script™, it's recommended to understand the language fundamentals before working with the UDT implementation in this library.
█ Usage Example
//@version=6
indicator("ZigZag Example", overlay = true, shorttitle = 'ZZA', max_bars_back = 5000, max_lines_count = 500, max_labels_count = 500, max_boxes_count = 500)
import andre_007/ZigZag/1 as ZIG
var group_1 = "ZigZag Settings"
//@variable Draw Zig Zag on the chart.
bool showZigZag = input.bool(true, "Show Zig-Zag Lines", group = group_1, tooltip = "If checked, the Zig Zag will be drawn on the chart.", inline = "1")
// @variable The deviation percentage from the last local high or low required to form a new Zig Zag point.
float deviationInput = input.float(5.0, "Deviation (%)", minval = 0.00001, maxval = 100.0,
tooltip = "The minimum percentage deviation from a previous pivot point required to change the Zig Zag's direction.", group = group_1, inline = "2")
// @variable The number of bars required for pivot detection.
int depthInput = input.int(10, "Depth", minval = 1, tooltip = "The number of bars required for pivot point detection.", group = group_1, inline = "3")
// @variable registerPivot (series bool) Optional. If `true`, the function compares a detected pivot
// point's coordinates to the latest `Pivot` object's `end` chart point, then
// updates the latest `Pivot` instance or adds a new instance to the `ZigZag`
// object's `pivots` array. If `false`, it does not modify the `ZigZag` object's
// data. The default is `true`.
bool allowZigZagOnOneBarInput = input.bool(true, "Allow Zig Zag on One Bar", tooltip = "If checked, the Zig Zag calculation can register a pivot high and pivot low on the same bar.",
group = group_1, inline = "allowZigZagOnOneBar")
var group_2 = "Display Settings"
// @variable The color of the Zig Zag's lines (up).
color lineColorUpInput = input.color(color.green, "Line Colors for Up/Down", group = group_2, inline = "4")
// @variable The color of the Zig Zag's lines (down).
color lineColorDownInput = input.color(color.red, "", group = group_2, inline = "4",
tooltip = "The color of the Zig Zag's lines")
// @variable The width of the Zig Zag's lines.
int lineWidthInput = input.int(1, "Line Width", minval = 1, tooltip = "The width of the Zig Zag's lines.", group = group_2, inline = "w")
// @variable If `true`, the Zig Zag will also display a line connecting the last known pivot to the current `close`.
bool extendInput = input.bool(true, "Extend to Last Bar", tooltip = "If checked, the last pivot will be connected to the current close.",
group = group_1, inline = "5")
// @variable If `true`, the pivot labels will display their price values.
bool showPriceInput = input.bool(true, "Display Reversal Price",
tooltip = "If checked, the pivot labels will display their price values.", group = group_2, inline = "6")
// @variable If `true`, each pivot label will display the volume accumulated since the previous pivot.
bool showVolInput = input.bool(true, "Display Cumulative Volume",
tooltip = "If checked, the pivot labels will display the volume accumulated since the previous pivot.", group = group_2, inline = "7")
// @variable If `true`, each pivot label will display the change in price from the previous pivot.
bool showChgInput = input.bool(true, "Display Reversal Price Change",
tooltip = "If checked, the pivot labels will display the change in price from the previous pivot.", group = group_2, inline = "8")
// @variable Controls whether the labels show price changes as raw values or percentages when `showChgInput` is `true`.
string priceDiffInput = input.string("Absolute", "", options = ,
tooltip = "Controls whether the labels show price changes as raw values or percentages when 'Display Reversal Price Change' is checked.",
group = group_2, inline = "8")
// @variable If `true`, the Zig Zag will display support and resistance lines.
bool showSupportResistanceInput = input.bool(true, "Show Support/Resistance Lines",
tooltip = "If checked, the Zig Zag will display support and resistance lines.", group = group_2, inline = "9")
// @variable The number of bars to extend the support and resistance lines from the last pivot point.
int supportResistanceOffsetInput = input.int(50, "Support/Resistance Offset", minval = 0,
tooltip = "The number of bars to extend the support and resistance lines from the last pivot point.", group = group_2, inline = "10")
// @variable The width of the support and resistance lines.
int supportResistanceWidthInput = input.int(1, "Support/Resistance Width", minval = 1,
tooltip = "The width of the support and resistance lines.", group = group_2, inline = "11")
// @variable The color of the support lines.
color supportColorInput = input.color(color.red, "Support/Resistance Color", group = group_2, inline = "12")
// @variable The color of the resistance lines.
color resistanceColorInput = input.color(color.green, "", group = group_2, inline = "12",
tooltip = "The color of the support/resistance lines.")
// @variable If `true`, the support and resistance lines will be drawn as zones.
bool showSupportResistanceZoneInput = input.bool(true, "Show Support/Resistance Zones",
tooltip = "If checked, the support and resistance lines will be drawn as zones.", group = group_2, inline = "12-1")
// @variable The color of the support zones.
color supportZoneColorInput = input.color(color.new(color.red, 70), "Support Zone Color", group = group_2, inline = "12-2")
// @variable The color of the resistance zones.
color resistanceZoneColorInput = input.color(color.new(color.green, 70), "", group = group_2, inline = "12-2",
tooltip = "The color of the support/resistance zones.")
// @variable The width of the support and resistance zones.
int supportResistanceZoneWidthInput = input.int(10, "Support/Resistance Zone Width", minval = 1,
tooltip = "The width of the support and resistance zones.", group = group_2, inline = "12-3")
// @variable If `true`, the support and resistance lines will extend to the right of the chart.
bool supportResistanceExtendInput = input.bool(false, "Extend to Right",
tooltip = "If checked, the lines will extend to the right of the chart.", group = group_2, inline = "13")
// @variable References a `Settings` instance that defines the `ZigZag` object's calculation and display properties.
var ZIG.Settings settings =
ZIG.Settings.new(
devThreshold = deviationInput,
depth = depthInput,
lineColorUp = lineColorUpInput,
lineColorDown = lineColorDownInput,
textUpColor = lineColorUpInput,
textDownColor = lineColorDownInput,
lineWidth = lineWidthInput,
extendLast = extendInput,
displayReversalPrice = showPriceInput,
displayCumulativeVolume = showVolInput,
displayReversalPriceChange = showChgInput,
differencePriceMode = priceDiffInput,
draw = showZigZag,
allowZigZagOnOneBar = allowZigZagOnOneBarInput,
drawSupportResistance = showSupportResistanceInput,
supportResistanceOffset = supportResistanceOffsetInput,
supportResistanceWidth = supportResistanceWidthInput,
supportColor = supportColorInput,
resistanceColor = resistanceColorInput,
supportResistanceExtend = supportResistanceExtendInput,
supportResistanceZoneWidth = supportResistanceZoneWidthInput,
drawSupportResistanceZone = showSupportResistanceZoneInput,
supportZoneColor = supportZoneColorInput,
resistanceZoneColor = resistanceZoneColorInput
)
// @variable References a `ZigZag` object created using the `settings`.
var ZIG.ZigZag zigZag = ZIG.newInstance(settings)
// Update the `zigZag` on every bar.
zigZag.update()
//#endregion
The example code demonstrates how to create a ZigZag indicator with customizable settings. It:
1. Creates a Settings object with user-defined parameters
2. Instantiates a ZigZag object using these settings
3. Updates the ZigZag on each bar to detect new pivot points
4. Automatically draws lines and labels when pivots are detected
This approach provides maximum flexibility while maintaining readability and ease of use.






















